今天宠物迷的小编给各位宠物饲养爱好者分享c构造函数的作用的宠物知识,其中也会对c++中构造函数的意义是什么 是不是可以这样理解(c++中构造函数的作用)进行专业的解释,如果能碰巧解决你现在面临的宠物相关问题,别忘了关注本站哦,现在我们开始吧!
构造函数就是一个类里面复最先执行的,什么是“构造”从字面意思就知道了,它会在内存中分配内存空间给这个类,你也制可以对你定义的变量赋值,但是不能像你那么理解,析构就是清空这个类在内zhidao存里面所占用的空间,释放内存。你那么理解是不对的
你可以在构造函数说初始化类所需要的某些数据。
就算你没有定义构造函数,编译时候编译器也会自动帮你生成一个默认构造函数。
Create 和Destroy相对应,在构造函数中开辟的空间或者建立的对象在destroy函数中要释放掉,保证内存不泄漏。
比如说类里面有个变量定义 string str; 你创建对象时如果要这个str有个初始值,就在构造函数里定义str=“初始值”;
以上是我个人见解。
//代码如下
class MyClass
{
public int num;//类的一个公有成员变量
public MyClass()//默认构造函数
{
this.num = 0;//默认构造函数中初始化数据
Console.WriteLine("创建对象");
}
public MyClass(MyClass source)//复制构造函数
{
this.num = source.num;//复制构造函数中拷贝数据
Console.WriteLine("创建对象");
}
~MyClass()//析构函数
{
Console.WriteLine("销毁对象");
}
};
作为默认的构造函数啊!什么叫怎么用?调用的时侯运行构造函数体
C,只有在没有定义构造函数的情况下才会有默认构造函数
b 解释(void更想一种mark,告诉编译器我目前没有返回值,但这是可选的,将来未必没有,但构造函数从概念上来说将肯定没有返回值,于是通过某种特殊的设计将其变为不带任何返回参型(包括void)的函数。
)
a,调用对象方法,用对象的名,不是用类名
因为C++是一个非常有趣的语言,他希望用户可以自己定义类型 他希望用户能把世间万物都抽象成对象来进行处理 有一些东西在创建的时候,是需要特别关注的 比如说你建立了一个数据库对象 那么这个数据库可以存什么样的数据,存多少数据,这些东西需要在创建之初就确定下来。所以使用构造函数,在程序一创建的时候就规定出来 而析构函数是在用户不需要这个对象的时候,销毁一些东西而准备的 比如说银行账户,你销卡了,银行就需要删除你这个账户,需要清除你的个人信息,需要关掉网银。这一系列的东西都是销毁一个账户所必须的步骤。那么这些步骤就集中在析构函数中处理 从初学者的角度来说。有的时候你创建一个对象,需要保存的信息是new出来的。比如说 class A { private: char *name; } 这个name是使用new出来的空间保存的。 那么构造函数里就可以写A(){name = new char[40];} 既然是new出来,为了防止内存泄露,我们必须归还这些申请的空间 那么在这个对象被销毁时,我们就需要调用析构函数 ~A(){delete[] name;} 这样就非常方便,利于操作和理解,出错的几率也将大大降低 说了好多,求打赏
b 解释(void更想一种mark,告诉编译器我目前没有返回值,但这是可选的,将来未必没有,但构造函数从概念上来说将肯定没有返回值,于是通过某种特殊的设计将其变为不带任何返回参型(包括void)的函数。
)
a,调用对象方法,用对象的名,不是用类名
本文由宠物迷 百科常识栏目发布,非常欢迎各位朋友分享到个人朋友圈,但转载请说明文章出处“c++中构造函数的意义是什么 是不是可以这样理解”
上一篇
小狗多大可以带出去